<?php
class pro_lap_konfirmasi_tagihan_model extends MY_Model {
	var $model = 'pro_lap_konfirmasi_tagihan_model';
	
	function GetJSON()
	{	
		if ($this->input->post('set')=='filter'){
			$bulan_dari = $this->input->post('bulan_dari');
			$bulan_sampai = $this->input->post('bulan_sampai');
			$tahun = $this->input->post('tahun');

			$ls_sql	= "	SELECT	a.nama_tenant,a.tanggal_pembayaran,a.no_toko,a.jenis_usaha,a.lokasi_tempat,a.status_bayar,
								a.no_tagihan_sewa,b.no_tagihan_listrik, c.nama_bulan, c.id_bulan,
								SUBSTR(a.tanggal_pembayaran, 4, INSTR(a.tanggal_pembayaran, '-')+2) AS tahun,
								SUBSTR(a.tanggal_pembayaran, 0, INSTR(a.tanggal_pembayaran, '-')-1) AS bulan,
								concat(c.nama_bulan,REPLACE(SUBSTR(a.tanggal_pembayaran, 4, INSTR(a.tanggal_pembayaran, '-')+2), '-',c.nama_bulan)) as periode_pembayaran
						FROM	pro_tagihan_sewa a
						LEFT JOIN pro_tagihan_listrik b ON a.status_bayar = b.status_bayar
						LEFT JOIN pro_nama_bulan c ON a.id_bulan = c.id_bulan
						WHERE	(SUBSTR(a.tanggal_pembayaran, 4, INSTR(a.tanggal_pembayaran, '-')+2) = '$tahun' AND SUBSTR(a.tanggal_pembayaran, 0, INSTR(a.tanggal_pembayaran, '-')-1) >='$bulan_dari') AND
								(SUBSTR(a.tanggal_pembayaran, 4, INSTR(a.tanggal_pembayaran, '-')+2) = '$tahun' AND SUBSTR(a.tanggal_pembayaran, 0, INSTR(a.tanggal_pembayaran, '-')-1) <='$bulan_sampai') AND
								lower(a.status_bayar) = 'belum bayar' AND lower(a.lokasi_tempat) = lower(b.lokasi_tempat) AND
								(UPPER(a.nama_tenant) LIKE '%".strtoupper(post('keyword'))."%'
								OR UPPER(a.tanggal_pembayaran) LIKE '%".strtoupper(post('keyword'))."%'
								OR UPPER(a.no_toko) LIKE '%".strtoupper(post('keyword'))."%'
								OR UPPER(a.jenis_usaha) LIKE '%".strtoupper(post('keyword'))."%'
								OR UPPER(a.lokasi_tempat) LIKE '%".strtoupper(post('keyword'))."%'
								OR UPPER(a.status_bayar) LIKE '%".strtoupper(post('keyword'))."%')
								ORDER BY ".(post('sort')=='' ? 'a.no_toko' : post('sort'))." ".(post('order')=='' ? 'asc' : post('order'));	
			return json_encode($this->paging($ls_sql) );
		} else {
			$ls_sql	= "	SELECT	a.nama_tenant,a.tanggal_pembayaran,a.no_toko,a.jenis_usaha,a.lokasi_tempat,a.status_bayar,
								a.no_tagihan_sewa,b.no_tagihan_listrik, c.nama_bulan, c.id_bulan,
								SUBSTR(a.tanggal_pembayaran, 4, INSTR(a.tanggal_pembayaran, '-')+2) AS tahun,
								SUBSTR(a.tanggal_pembayaran, 0, INSTR(a.tanggal_pembayaran, '-')-1) AS bulan,
								concat(c.nama_bulan,REPLACE(SUBSTR(a.tanggal_pembayaran, 4, INSTR(a.tanggal_pembayaran, '-')+2), '-',c.nama_bulan)) as periode_pembayaran
						FROM	pro_tagihan_sewa a
						LEFT JOIN pro_tagihan_listrik b ON a.status_bayar = b.status_bayar
						LEFT JOIN pro_nama_bulan c ON a.id_bulan = c.id_bulan
						WHERE	lower(a.status_bayar) = 'belum bayar' AND lower(a.lokasi_tempat) = lower(b.lokasi_tempat) AND
								(UPPER(a.nama_tenant) LIKE '%".strtoupper(post('keyword'))."%'
								OR UPPER(a.tanggal_pembayaran) LIKE '%".strtoupper(post('keyword'))."%'
								OR UPPER(a.no_toko) LIKE '%".strtoupper(post('keyword'))."%'
								OR UPPER(a.jenis_usaha) LIKE '%".strtoupper(post('keyword'))."%'
								OR UPPER(a.lokasi_tempat) LIKE '%".strtoupper(post('keyword'))."%'
								OR UPPER(a.status_bayar) LIKE '%".strtoupper(post('keyword'))."%')
								ORDER BY ".(post('sort')=='' ? 'a.no_toko' : post('sort'))." ".(post('order')=='' ? 'asc' : post('order'));	
			return json_encode($this->paging($ls_sql) );
		}
	}

	function GetJSON2()
	{
		$ls_sql	= "	SELECT	no_tagihan_listrik,nama_tenant,no_toko,
							jenis_usaha,tanggal,kwh_awal_meter,
							kwh_akhir_meter,kwh_terpakai,tarif_per_kwh,
							jumlah_pemakaian,mcb,biaya_beban,jumlah_biaya_beban,
							total_tagihan,lokasi_tempat,no_bukti_pembayaran,
							TO_CHAR(tgl_bayar,'DD/MM/YYYY') tgl_bayar
					FROM	pro_tagihan_listrik
					WHERE	(UPPER(kwh_awal_meter) LIKE '%".strtoupper(post('keyword'))."%'
							OR UPPER(kwh_akhir_meter) LIKE '%".strtoupper(post('keyword'))."%') 
							ORDER BY ".(post('sort')=='' ? 'kwh_awal_meter' : post('sort'))." ".(post('order')=='' ? 'asc' : post('order'));	
		return json_encode($this->paging($ls_sql) );
	}
		
	function Add($arr_data){
		$this->db->insert('pro_tagihan_listrik', $arr_data);
	}

	function UpdateStatus($arr_data, $arr_rule){
		$this->db->update('pro_pemakaian_listrik', $arr_data, $arr_rule);
	}
	
	function Update($arr_data, $arr_rule){
		$this->db->update('pro_tagihan_listrik', $arr_data, $arr_rule);
	}
	
	function GetSingle($as_no_tagighan_listrik){
		$result = $this->db->query("SELECT	no_tagihan_listrik,nama_tenant,no_toko,
												jenis_usaha,tanggal,kwh_awal_meter,
												kwh_akhir_meter,kwh_terpakai,tarif_per_kwh,
												jumlah_pemakaian,mcb,biaya_beban,jumlah_biaya_beban,
												total_tagihan,lokasi_tempat,no_bukti_pembayaran,
												TO_CHAR(tgl_bayar,'DD/MM/YYYY') tgl_bayar
										FROM	pro_tagihan_listrik
										WHERE no_tagihan_listrik = '$as_no_tagighan_listrik'");
		if($result->num_rows() == 1){
			return $result->row_array();
		}else{
			return NULL;
		}
	}
	
	function GetSingleView($as_no_tagighan_listrik)
	{
		$result = $this->db->query("SELECT	no_tagihan_listrik,nama_tenant,no_toko,
														jenis_usaha,tanggal,kwh_awal_meter,
														kwh_akhir_meter,kwh_terpakai,tarif_per_kwh,
														jumlah_pemakaian,mcb,biaya_beban,jumlah_biaya_beban,
														total_tagihan,lokasi_tempat,no_bukti_pembayaran,
														TO_CHAR(tgl_bayar,'DD/MM/YYYY') tgl_bayar
												FROM	pro_tagihan_listrik
												WHERE no_tagihan_listrik = '$as_no_tagighan_listrik'");
		if($result->num_rows() == 1){
			return $result->row_array();
		}else{
			return NULL;
		}
	}

	function DeleteSingle($arr_rule)
	{
		try {
			if(	intval($this->get_data("SELECT COUNT(1) FROM pro_tagihan_listrik WHERE no_tagihan_listrik = '".$arr_rule['no_tagihan_listrik']."'"))<=0)
			{
				return $this->error_delete.' [id: '.$arr_rule['no_tagihan_listrik']."]<br />";
			}else{
				$this->db->delete('pro_tagihan_listrik', array('no_tagihan_listrik' => $arr_rule['no_tagihan_listrik']));
				return '';
			}
		} catch(Exception $e) {
			return $e->getMessage();
		}
	}

	function GetCetak($trigger){

		$data_explode = explode(',', $trigger);

				$result1 = $this->db->query("	SELECT 		a.no_tagihan_sewa,a.nama_tenant,a.no_toko,
															a.jenis_usaha,a.lokasi_tempat,a.harga_sewa,
															a.tanggal_pembayaran,a.status_bayar,
															a.keterangan,TO_CHAR(a.tanggal_bayar,'DD/MM/YYYY') tanggal_bayar,
															a.no_bukti_pembayaran, b.nama_bulan, b.id_bulan,
															SUBSTR(a.tanggal_pembayaran, 4, INSTR(a.tanggal_pembayaran, '-')+2) AS tahun,
															SUBSTR(a.tanggal_pembayaran, 0, INSTR(a.tanggal_pembayaran, '-')-1) AS bulan,
															concat(b.nama_bulan,REPLACE(SUBSTR(a.tanggal_pembayaran, 4, INSTR(a.tanggal_pembayaran, '-')+2), '-',b.nama_bulan)) as periode_pembayaran
												FROM		pro_tagihan_sewa a
												LEFT JOIN 	pro_nama_bulan b ON a.id_bulan = b.id_bulan
												WHERE		a.no_toko ='$data_explode[2]' AND a.lokasi_tempat LIKE '$data_explode[1]' AND a.status_bayar='Belum Bayar' ");
							
		return $result1->row_array();
			
	}


	function GetDetailSewa($trigger){

		$data_explode = explode(',', $trigger);

				$result1 = $this->db->query("	SELECT 		a.no_tagihan_sewa,a.nama_tenant,a.no_toko,
															a.jenis_usaha,a.lokasi_tempat,a.harga_sewa,
															a.tanggal_pembayaran,a.status_bayar,
															a.keterangan,TO_CHAR(a.tanggal_bayar,'DD/MM/YYYY') tanggal_bayar,
															a.no_bukti_pembayaran, b.nama_bulan, b.id_bulan,
															SUBSTR(a.tanggal_pembayaran, 4, INSTR(a.tanggal_pembayaran, '-')+2) AS tahun,
															SUBSTR(a.tanggal_pembayaran, 0, INSTR(a.tanggal_pembayaran, '-')-1) AS bulan,
															concat(b.nama_bulan,REPLACE(SUBSTR(a.tanggal_pembayaran, 4, INSTR(a.tanggal_pembayaran, '-')+2), '-',b.nama_bulan)) as periode_pembayaran
												FROM		pro_tagihan_sewa a
												LEFT JOIN 	pro_nama_bulan b ON a.id_bulan = b.id_bulan
												WHERE		a.no_toko ='$data_explode[2]' AND a.lokasi_tempat LIKE '$data_explode[1]' AND a.status_bayar='Belum Bayar' ");
							
		return $result1->result_array();
			
	}

	function GetDetailListrik($trigger){

		$data_explode = explode(',', $trigger);

			$result1 = $this->db->query("	SELECT		a.no_tagihan_listrik,a.nama_tenant,a.no_toko,
														a.jenis_usaha,a.tanggal,a.kwh_awal_meter,
														a.kwh_akhir_meter,a.kwh_terpakai,a.tarif_per_kwh,
														a.jumlah_pemakaian,a.mcb,a.biaya_beban,a.jumlah_biaya_beban,
														a.total_tagihan,a.lokasi_tempat,a.no_bukti_pembayaran,
														TO_CHAR(a.tgl_bayar,'DD/MM/YYYY') tgl_bayar,
														a.status_bayar, b.nama_bulan, b.id_bulan,
														SUBSTR(a.tanggal, 4, INSTR(a.tanggal, '-')+2) AS tahun,
														SUBSTR(a.tanggal, 0, INSTR(a.tanggal, '-')-1) AS bulan,
														concat(b.nama_bulan,REPLACE(SUBSTR(a.tanggal, 4, INSTR(a.tanggal, '-')+2), '-',b.nama_bulan)) as periode_pembayaran
											FROM		pro_tagihan_listrik a
											LEFT JOIN  	pro_nama_bulan b ON a.id_bulan = b.id_bulan
											WHERE		a.no_toko ='$data_explode[2]' AND 
														a.status_bayar ='Belum Bayar' AND
										 				a.lokasi_tempat LIKE '$data_explode[1]' ");

			return $result1->result_array();

	}


	
}
?>